home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 1.iso / DEMON / RISCOS2 / TCP_131S.ARC / h / Terminal < prev    next >
Text File  |  1994-01-02  |  2KB  |  106 lines

  1. #ifndef WINDOW_H
  2. #define WINDOW_H
  3.  
  4. #include <stdarg.h>
  5. #include <stdio.h>
  6.  
  7. #include "menu.h"
  8. #include "sprite.h"
  9. #include "wimp.h"
  10.  
  11. #define SPRITE_FILE   0xFF9
  12. #define SPRITE_WIDTH  640
  13. #define SPRITE_HEIGHT 192
  14. #define SPRITE_MODE_0   0
  15. #define SPRITE_MODE_16 12
  16. #define SPRITE_SIZE_0   (660 * 200) / 8 + sizeof(sprite_header) + sizeof(sprite_area)
  17. #define SPRITE_SIZE_16  (660 * 200) / 2 + sizeof(sprite_header) + sizeof(sprite_area)
  18.  
  19. #define SCREEN_WIDTH  80
  20. #define SCREEN_HEIGHT 24
  21. #define TAB_STOPS     8
  22.  
  23. typedef struct
  24. {
  25.        sprite_area *Area;
  26.        sprite_id   id;
  27. }
  28. Sprite_Details;
  29.  
  30. #define term_DONT_DESTROY  1
  31. #define term_DONT_OPEN     2
  32. #define term_NO_INPUT      4
  33. #define term_CARET         8
  34. #define term_SIXTEEN      16
  35.  
  36. typedef union
  37. {
  38.   unsigned int value;
  39.   struct
  40.   {
  41.     unsigned int dont_destroy : 1;
  42.     unsigned int dont_open    : 1;
  43.     unsigned int no_input     : 1;
  44.     unsigned int caret        : 1;
  45.     unsigned int sixteen      : 1;
  46.   } flags;
  47. } term_flags;
  48.  
  49. typedef struct
  50. {
  51. #define ESCAPE_NONE  0
  52. #define ESCAPE_FOUND 1
  53. #define ESCAPE_1     2
  54. #define ESCAPE_2     3
  55. #define ESCAPE_3     4
  56. #define ESCAPE_4     5
  57. #define ESCAPE_5     6
  58.        int Esc_Flag;
  59.        int G0, G1;
  60.        int Charset;
  61.        int Parmptr;
  62.        int Parms[6];
  63.        char Tabs[SCREEN_WIDTH];
  64.        int Top, Bottom;
  65.        int x, y;
  66.        int Caret;
  67. #define ATTR_NORMAL  0
  68. #define ATTR_REVERSE 1
  69. #define ATTR_BOLD    2
  70. #define ATTR_UNDER   3
  71. #define ATTR_BLINK   4
  72. #define NATTR        5
  73.        int Attr;
  74.        int Foreground[NATTR];
  75.        int Background[NATTR];
  76.        int Save_x, Save_y;
  77.        int Save_Attr;
  78.        int Cursor;
  79.        int Old_X, Old_Y;
  80.        int X_Div_Mult, Y_Div_Mult;
  81.        int X_Mag_Mult, Y_Mag_Mult;
  82.        wimp_w Window_Handle;
  83.        Sprite_Details Sprite;
  84.        int *Save_Area;
  85.        struct session *Session;
  86.        FILE *Record;
  87.        term_flags Flags;
  88.  
  89.        int  keypad;
  90. #define BUFMAX  256
  91.        char buffer[BUFMAX];
  92.        char *bufptr;
  93.  
  94.        menu Menu;
  95. } Terminal;
  96.  
  97. extern int term_type;
  98.  
  99. /* In WINDOW */
  100. void Update_Window(Terminal *, wimp_redrawstr);
  101. Terminal *Window_Open(struct session *, char *, unsigned int);
  102. void Window_Write(Terminal *, char *, int);
  103. void Window_Close(Terminal *);
  104.  
  105. #endif
  106.